package com.zg.common.core.dao.datapush.entity;

import com.zg.common.core.dao.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * 推送任务实体
 * @author zg
 */
@Data
public class DpPushTask extends BaseEntity {

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 源数据源编码
     */
    private String sourceDatasourceCode;

    /**
     * 源表名
     */
    private String sourceTableName;

    /**
     * 目标类型 (database, rest)
     */
    private String targetType;

    /**
     * 目标数据源编码（数据库推送时使用）
     */
    private String targetDatasourceCode;

    /**
     * 目标表名（数据库推送时使用）
     */
    private String targetTableName;

    /**
     * 目标系统名称
     */
    private String targetSystemName;

    /**
     * 推送模式 (full-全量, increment-增量)
     */
    private String pushMode;

    /**
     * 增量字段名（增量推送时使用）
     */
    private String incrementField;

    /**
     * 最后推送时间（增量推送时使用）
     */
    private Date lastPushTime;

    /**
     * 调度类型 (manual-手动, cron-定时)
     */
    private String scheduleType;

    /**
     * cron表达式
     */
    private String cronExpression;

    /**
     * 下次执行时间
     */
    private Date nextExecuteTime;

    /**
     * 任务状态 (0-禁用, 1-启用)
     */
    private Integer status;
}
